FiberType

Operations on a running Fiber`2, the handle returned by Flow.fork.

Specification

Kind
Type
Members
6
Examples
0
dumpSignature
Fiber.dump fiber
joinSignature
Fiber.join fiber
awaitSignature
Fiber.await fiber
pollSignature
Fiber.poll fiber
interruptSignature
Fiber.interrupt fiber

Summary

NameSignatureSynopsis
Operations
dumpFiber.dump fiberReturns a snapshot of the fiber's diagnostic metadata.
joinFiber.join fiberWaits for a fiber and returns its value, failing the same way the fiber failed.
awaitFiber.await fiberWaits for a fiber and returns its , never failing.
pollFiber.poll fiberReturns the fiber's exit if it has settled, without waiting.
interruptFiber.interrupt fiberSignals a fiber to stop, waits for its cleanup, and returns its final exit.
Metadatathis.MetadataDiagnostic metadata for the running fiber.

Operations

kind:member

dump

Fiber.dump fiber
Member
Returns a snapshot of the fiber's diagnostic metadata.

Parameters

NameTypeDescription
fiberFiber<'error, 'value>The fiber to describe.

Returns

FiberDump
kind:member

join

Fiber.join fiber
Member
Waits for a fiber and returns its value, failing the same way the fiber failed.

Parameters

NameTypeDescription
fiberFiber<'error, 'value>The fiber to join.

Returns

Flow<'env, 'error, 'value>

Verification Examples

let loadProfile : Flow<unit, string, string> = Flow.ok "profile"
let loadOrders : Flow<unit, string, int list> = Flow.ok [ 1; 2 ]

let page =
    flow {
        let! fiber = Flow.fork loadProfile
        let! orders = loadOrders
        let! profile = Fiber.join fiber
        return profile, orders
    }
kind:member

await

Fiber.await fiber
Member
Waits for a fiber and returns its Exit`2, never failing.

Parameters

NameTypeDescription
fiberFiber<'error, 'value>The fiber to wait for.

Returns

Flow<'env, 'none, Exit<'value, 'error>>

Verification Examples

flow {
    match! Fiber.await fiber with
    | Exit.Success value -> return Some value
    | Exit.Failure _ -> return None
}
kind:member

poll

Fiber.poll fiber
Member
Returns the fiber's exit if it has settled, without waiting.

Parameters

NameTypeDescription
fiberFiber<'error, 'value>The fiber to check.

Returns

Flow<'env, 'none, Exit<'value, 'error> option>
kind:member

interrupt

Fiber.interrupt fiber
Member
Signals a fiber to stop, waits for its cleanup, and returns its final exit.

Parameters

NameTypeDescription
fiberFiber<'error, 'value>The fiber to interrupt.

Returns

Flow<'env, 'none, Exit<'value, 'error>>
kind:member

Metadata

this.Metadata
Member
Diagnostic metadata for the running fiber.

Returns

FiberMetadata